package com.zhijian.medical.entity.vo.response;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.List;

/**
 * 会议室预约类，根据天的
 *
 * @author HCG
 * @version 1.0
 * @date 2023-09-26
 */
@Data
@Api(tags = "会议室预约类，根据天的")
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class MeetingRoomDayVo {

    /**
     * 会议室
     */
    @ApiModelProperty("会议室")
    private MeetingRoomVo meetingRoom;

    /**
     * 预约人
     */
    @ApiModelProperty("预约人")
    private String applyUserName;

    /**
     * 预约人联系方式
     */
    @ApiModelProperty("预约人联系方式")
    private String applyUserPhone;

    /**
     * 会议名称
     */
    @ApiModelProperty("会议名称")
    private String meetingName;

    /**
     * 会议类型，1：教学讲座，2：教学病例讨论，3：教学读片
     */
    @ApiModelProperty("会议类型，1：教学讲座，2：教学病例讨论，3：教学读片")
    private Byte meetingType;

    /**
     * 这个会议室可以预约的所有时间数字数组
     */
    @ApiModelProperty("这个会议室可以预约的所有时间数字数组")
    private List<Integer> canHours;

    /**
     * 某天已经预约的时间数字数组
     */
    @ApiModelProperty("某天已经预约的时间数字数组")
    private List<Integer> applyHours;

    /**
     * 一个格子的详情
     */
    @ApiModelProperty("一个格子的详情")
    public List<SingleCellVo> singleCellList;

    /**
     * 一个格子的详情vo类
     */
    @Data
    @Api(tags = "一个格子的详情vo类")
    @Builder
    @NoArgsConstructor
    @AllArgsConstructor
    public static class SingleCellVo implements Serializable {

        private static final long serialVersionUID = 8289889697235004871L;

        /**
         * 小时数字
         */
        @ApiModelProperty("小时数字")
        public Integer hour;

        /**
         * 预约详情
         */
        @ApiModelProperty("预约详情")
        public MeetingAppointmentVo meetingAppointmentVo;
    }

}
